using System;

namespace SBPweb.Modules.Logging
{
	/// <summary>
	/// Class of LogWriteEventArgs
	/// </summary>
    public class LogWriteEventArgs : EventArgs
	{
		#region Private members

		private object mObject;
        private string mCategory;
        private SeverityLevel mSeverity;
        private int mPriority;

		#endregion

		#region Constructor logic

		/// <summary>
		/// Constructor of LogWriteEventArgs
		/// </summary>
		/// <param name="severity">severity</param>
		/// <param name="obj">object</param>
		/// <param name="category">category</param>
        public LogWriteEventArgs(SeverityLevel severity, object obj, string category)
            : this(severity, obj, category, 0)
        {
        }

		/// <summary>
		/// Constructor of LogWriteEventArgs
		/// </summary>
		/// <param name="severity">severity</param>
		/// <param name="obj">object</param>
		/// <param name="category">category</param>
		/// <param name="priority">priority</param>
        public LogWriteEventArgs(SeverityLevel severity, object obj, string category, int priority)
        {
            mSeverity = severity;
            mObject = obj;
            mCategory = category;
			mPriority = priority;
		}

		#endregion

		#region Public properties

		/// <summary>
		/// Severity
		/// </summary>
        public SeverityLevel Severity
        {
            get
            {
                return mSeverity;
            }
        }

		/// <summary>
		/// Object
		/// </summary>
        public object Object
        {
            get
            {
                return mObject;
            }
        }

		/// <summary>
		/// Category
		/// </summary>
        public string Category
        {
            get
            {
                return mCategory;
            }
        }

		/// <summary>
		/// Priority
		/// </summary>
        public int Priority
        {
            get
            {
                return mPriority;
            }
		}

		#endregion
	}
}